Handley Lumber — Funnel Playbook kit

The complete Funnel Playbook asset kit for Handley Lumber: Meta ads, reels, email and SMS drip, and the copy deck. Ads land on their 3D garage configurator. Doc-sourced, independently judged, preview-only.

Copy is doc-sourced (claims files attached per client)Forms unwired — previews onlyEverything noindexNo client has seen thisReels ship silent — VO owed

Handley Lumber

Fenelon Falls, ON · destination: handley-garages.pages.dev/ Basic auth — unlocks on signing

Meta ads (9)

handley-lumber_garages-2026_meta_carousel_config-steps-1_1x1_r1_20260831.png
handley-lumber_garages-2026_meta_carousel_config-steps-1_1x1_r1_20260831.png
handley-lumber_garages-2026_meta_carousel_config-steps-2_1x1_r1_20260831.png
handley-lumber_garages-2026_meta_carousel_config-steps-2_1x1_r1_20260831.png
handley-lumber_garages-2026_meta_carousel_config-steps-3_1x1_r2_20260831.png
handley-lumber_garages-2026_meta_carousel_config-steps-3_1x1_r2_20260831.png
handley-lumber_garages-2026_meta_carousel_config-steps-4_1x1_r1_20260831.png
handley-lumber_garages-2026_meta_carousel_config-steps-4_1x1_r1_20260831.png
handley-lumber_garages-2026_meta_carousel_config-steps-5_1x1_r1_20260831.png
handley-lumber_garages-2026_meta_carousel_config-steps-5_1x1_r1_20260831.png
handley-lumber_garages-2026_meta_single_poster-fit_191x1_r1_20260831.png
handley-lumber_garages-2026_meta_single_poster-fit_191x1_r1_20260831.png
handley-lumber_garages-2026_meta_single_poster-fit_1x1_r1_20260831.png
handley-lumber_garages-2026_meta_single_poster-fit_1x1_r1_20260831.png
handley-lumber_garages-2026_meta_single_poster-fit_4x5_r1_20260831.png
handley-lumber_garages-2026_meta_single_poster-fit_4x5_r1_20260831.png
handley-lumber_garages-2026_meta_single_poster-fit_9x16_r2_20260831.png
handley-lumber_garages-2026_meta_single_poster-fit_9x16_r2_20260831.png

Reels (4) OWED: audio — VO window reserved, spec below

handley-lumber_garages-2026_reel_garage-fit_16x9_r2_20260831.mp4
handley-lumber_garages-2026_reel_garage-fit_1x1_r2_20260831.mp4
handley-lumber_garages-2026_reel_garage-fit_4x5_r2_20260831.mp4
handley-lumber_garages-2026_reel_garage-fit_9x16_r1_20260831.mp4

Destination

handley-lumber_garages-2026_dest_desktop_1440x2000_r1_20260831.png
handley-lumber_garages-2026_dest_desktop_1440x2000_r1_20260831.png
handley-lumber_garages-2026_dest_mobile_375x812_r1_20260831.png
handley-lumber_garages-2026_dest_mobile_375x812_r1_20260831.png

Email drip (3) + SMS

SMS + copy blocks
### TOKENS.md

# Token mapping — Handley Lumber email/SMS drip (CRM unconfirmed)

These are copy-paste assets. The CRM for Handley Lumber is UNCONFIRMED this run
(never assume GHL). Tokens use neutral `{{snake_case}}` placeholders; map them to
the target CRM's merge syntax at load time.

| Token | Meaning | GHL example | Mailchimp example |
| --- | --- | --- | --- |
| `{{first_name}}` | Recipient first name | `{{contact.first_name}}` | `*|FNAME|*` |
| `{{cta_url}}` | Ad-destination / configurator link. Resolves to `https://handley-garages.pages.dev/` (Basic-auth preview gate stays on until signing — see notes\GAPS.md). No UTM params in email links (UTM scheme is paid-social only per _shared\DESTINATIONS.md). | custom value | custom merge tag |
| `{{booking_link}}` | SMS booking CTA link — same destination, ideally via the CRM's trigger-link shortener for click tracking | trigger link | n/a |
| `{{unsubscribe_url}}` | CASL unsubscribe link — MUST be a working one-click unsubscribe in the sending platform | `{{trigger_link.unsubscribe}}` / built-in | `*|UNSUB|*` |

Hard-coded (verified 2026-08-31, curl 200):
- Logo: `https://handleylumber.ca/cdn/shop/files/HANDLEY_LUMBER_LOGO_TRANSPARENT.png?v=1704726658&width=460` (their own Shopify CDN, image/png)
- Privacy policy: `https://handleylumber.ca/policies/privacy-policy`

CASL checklist per email (all present in all three):
sender identification (Handley Lumber Limited) · real street address (12 Helen
Street, Fenelon Falls, ON K0M 1N0) · why-you're-receiving line ·
`{{unsubscribe_url}}` · verified privacy-policy link.
SMS carry brand identification + "Reply STOP to opt out".


### email-day0.txt

SUBJECT: Your free garage plans are ready, {{first_name}}
PREHEADER: Six plans, drawn and ready to build. Free, no obligation.

Hi {{first_name}},

Thanks for your interest in a garage from Handley Lumber. Six plans, drawn and
ready to build. Pick a size, tell it what is going in, and Handley Lumber prices
the whole build off the same drawing your builder frames from. Free, no
obligation.

It takes about two minutes to try, and there is no form just to play with it.

Start My Free Garage Plan: {{cta_url}}

Rated 4.5 on Google, with 50+ five-star Google reviews.
"Friendly staff, fast delivery and excellent prices" - edward krets, Google review

--
Handley Lumber Limited
12 Helen Street, Fenelon Falls, ON K0M 1N0
(705) 887-3242 - info@handleylumber.ca
You are receiving this email because you asked Handley Lumber about garage plans
or a quote.
Unsubscribe: {{unsubscribe_url}}
Privacy policy: https://handleylumber.ca/policies/privacy-policy


### email-day3.txt

SUBJECT: Four generations behind your garage, {{first_name}}
PREHEADER: Helping Fenelon Falls build with confidence since 1936.

Hi {{first_name}},

We've been helping Fenelon Falls build with confidence since 1936. The business
has passed through four generations of the Handley family, from Joe to Ray, from
Ken to Chris, and it is built for contractors and friendly to DIYers.

Your garage plan gets the same treatment: pick one of six ready-to-build plans,
make it yours, and send it for a quote. The price comes off the same drawing your
builder frames from. Free, no obligation. Delivery from our yard in Fenelon
Falls.

Pick My Garage Plan: {{cta_url}}

"...At Handley's you're treated like family and this family business has always been
huge supporters of our wonderful community." - Brandy Watson, Google review

--
Handley Lumber Limited
12 Helen Street, Fenelon Falls, ON K0M 1N0
(705) 887-3242 - info@handleylumber.ca
You are receiving this email because you asked Handley Lumber about garage plans
or a quote.
Unsubscribe: {{unsubscribe_url}}
Privacy policy: https://handleylumber.ca/policies/privacy-policy


### email-day7.txt

SUBJECT: Still thinking about that garage, {{first_name}}?
PREHEADER: Free, no-obligation quote. Precision takeoff in as little as 2 business days.

Hi {{first_name}},

The plan you were looking at is still there. Four steps: what is going in it,
make it yours, send it for a quote, and what it comes to.

Send it in and you get a free, no-obligation quote, with a precision takeoff in
as little as 2 business days. If you would rather talk it through first, call us
at (705) 887-3242 or stop by 12 Helen Street. Monday to Friday 8 am to 5 pm,
Saturday 8 am to 4 pm.

Get My Free Garage Quote: {{cta_url}}

"Friendly staff, great service what more could you ask for." - R. James Cook,
Google review. Rated 4.5 on Google.

--
Handley Lumber Limited
12 Helen Street, Fenelon Falls, ON K0M 1N0
(705) 887-3242 - info@handleylumber.ca
You are receiving this email because you asked Handley Lumber about garage plans
or a quote.
Unsubscribe: {{unsubscribe_url}}
Privacy policy: https://handleylumber.ca/policies/privacy-policy


### sms.md

# SMS — Handley Lumber · garages-2026 · r1 · 2026-08-31

Copy-paste assets, CRM unconfirmed (see TOKENS.md). Each ends in the booking CTA
link token. All claims traceable to notes\PERMITTED-CLAIMS.md. No prices, no
deadlines, no "in stock". Reply-STOP line included (CASL/CTIA).

**SMS 1 — Day 0 (pairs with email-day0)**
> Handley Lumber: Hi {{first_name}}, your free garage plans are ready. Six plans, drawn and ready to build. Free, no-obligation quote. Reply STOP to opt out. {{booking_link}}

**SMS 2 — Day 3**
> Handley Lumber: {{first_name}}, pick a plan, make it yours, send it for a quote. Priced off the same drawing your builder frames from. Reply STOP to opt out. {{booking_link}}

**SMS 3 — Day 7**
> Handley Lumber: still thinking it over, {{first_name}}? Free quote, precision takeoff in as little as 2 business days. Or call (705) 887-3242. Reply STOP to opt out. {{booking_link}}
Meta deck
# META DECK — Handley Lumber · garages-2026 · r1 · 2026-08-31

Destination: **https://handley-garages.pages.dev/** (curl-verified; Basic-auth preview gate
stays on — "destination unlocks on signing"). Every claim below traces to
`notes\PERMITTED-CLAIMS.md` (§ refs inline). No prices, no deadlines, no "in stock",
no 250,000-products claim, no unqualified delivery promises.

**Qualifier rule:** qualifiers travel WITH their promises in every field, and any promise
used in an ad must carry its qualifier in the Ads Manager primary text too — Meta truncates
headlines/descriptions first, so the qualifier's guaranteed home is the primary text.

## Primary texts (3)

**PT-1 — plans-first (pairs with poster-fit singles)**
> Free garage plans. Real quotes. (§7)
>
> Six plans, drawn and ready to build. Pick a size, tell it what's going in, and Handley
> Lumber prices the whole build off the same drawing your builder frames from. Free, no
> obligation. (§7 verbatim)
>
> Precision takeoff in as little as 2 business days. Delivery from our yard in Fenelon
> Falls. (§7) Rated 4.5 on Google. (§6)
>
> About two minutes. No form to play with it. (§7)

**PT-2 — heritage + proof (pairs with carousel)**
> We've been helping Fenelon Falls build with confidence since 1936. (§1 verbatim)
>
> Now your garage starts online: six plans, drawn and ready to build — vehicle parking,
> workshop, seasonal storage, or hobby space. (§7) Make it yours, send it for a quote, and
> get a free, no-obligation quote on any of the six plans. (§7)
>
> 50+ five-star Google reviews. (§6 floor) Four generations of the Handley family behind
> every order. (§2)

**PT-3 — contractor/DIY (pairs with reels)**
> Build the garage that actually fits. (§7)
>
> Built for contractors. Friendly to DIYers. (§2 verbatim) Choose from six ready-to-build
> plans — from a 12×24 single car garage to a 24×30 double (§7 observed plans) — and
> Handley Lumber prices the whole build off the same drawing your builder frames from,
> free, no obligation. (§7)
>
> Delivery from our yard in Fenelon Falls. (§7) "Friendly staff, fast delivery and
> excellent prices" — edward krets · Google review. (§6)

## Headlines (5) — ≤40 chars where possible

| # | Headline | Source |
| --- | --- | --- |
| H1 | Free Garage Plans. Real Quotes. | §7 verbatim |
| H2 | Build the Garage That Actually Fits | §7 verbatim |
| H3 | Six Plans, Drawn and Ready to Build | §7 |
| H4 | Your Local Building Partner Since 1936 | §1 banner verbatim |
| H5 | Free, No-Obligation Garage Quote | §7 |

## Descriptions (3)

| # | Description | Source |
| --- | --- | --- |
| D1 | Precision takeoff in as little as 2 business days. Free, no obligation. | §7 (qualifier "as little as" kept) |
| D2 | Rated 4.5 on Google · 50+ five-star reviews. Handley Lumber, Fenelon Falls. | §6 |
| D3 | Pick a plan, make it yours, send it for a quote. About two minutes. | §7 steps |

Qualifiers embedded above (must also appear in primary text when the promise is used):
- "as little as 2 business days" — never "2-day takeoff".
- "Free, no obligation" travels with every quote promise.
- Delivery is only ever "from our yard in Fenelon Falls" (site-access qualifier from §3
  applies if delivery is ever promised beyond that — not promised in this deck).
- Review count is the five-star FLOOR "50+", never "119 five-star".

## Campaign structure recommendation

**1 campaign:** `handley-lumber_garages-2026` — objective Leads (or Traffic while the
preview gate is on; conversions can't fire behind Basic auth — flag to Zak at launch).

**Ad set 1 — Prospecting:** Kawartha Lakes + ~40km radius (Fenelon Falls, Bobcaygeon,
Coboconk, Lindsay; §2 supports region), 25–65+, homeowner-ish broad (no detailed targeting
narrowing; personal-attribute-safe). Creative: poster-fit singles (4 ratios) + garage-fit
reels. Placements: Advantage+ with 9:16 assets mapped to Stories/Reels, 1:1/4:5 to feeds,
16:9/1200×628 to right column + in-stream.

**Ad set 2 — Retargeting:** site visitors of handley-garages.pages.dev + FB/IG engagers,
30-day window. Creative: config-steps carousel (5×1:1, hook → decisions → proof → CTA) +
PT-2. Note: pixel/CAPI unconfirmed this run — if no pixel exists, run engagement-only
retargeting and log the gap.

CTA button: **Get Quote** (matches destination's free-quote mechanic; no "Shop Now").

## UTM table (append to destination in ads ONLY, never board links)

Scheme: `?utm_source={facebook|instagram}&utm_medium=paid-social&utm_campaign=garages-2026&utm_content=<asset-concept-slug>`
Set per-placement in Ads Manager; never baked into creative.

| Asset | utm_content | Example final URL (facebook) |
| --- | --- | --- |
| Singles (poster-fit, all 4 ratios) | `poster-fit` | https://handley-garages.pages.dev/?utm_source=facebook&utm_medium=paid-social&utm_campaign=garages-2026&utm_content=poster-fit |
| Carousel (config-steps, 5 cards) | `config-steps` | https://handley-garages.pages.dev/?utm_source=facebook&utm_medium=paid-social&utm_campaign=garages-2026&utm_content=config-steps |
| Reels (garage-fit, all 4 ratios) | `garage-fit` | https://handley-garages.pages.dev/?utm_source=facebook&utm_medium=paid-social&utm_campaign=garages-2026&utm_content=garage-fit |

Instagram placements swap `utm_source=instagram`; everything else identical.
VO slot spec
# VO slot — Handley Lumber reels (garage-fit, 2026-09-01)

Applies to all four files in `reels\out\` — 16x9 / 4x5 / 1x1 are `_r2_`, 9x16 stays `_r1_`
(verified clean, never re-rendered). Reels ship SILENT (audio_streams=0 verified); VO is
added later. Zero paid generation this run — VO OWED.

## Timing

- Total runtime: 9.60s (7.0s content frame on zoompan 1.00→1.11, 0.4s crossfade @6.60s,
  2.6s branded outro hold).
- **VO window: 0.30s – 8.80s.** VO may run over the start of the silent branded outro card
  and must end at least 0.8s before the video ends.

**Spec correction (fleet-wide, 2026-09-01):** the earlier 0.30–6.60s window with 35-40 word
scripts was arithmetically impossible — 40 words in 6.3s is ~380 wpm, roughly double a
natural read. That word count came from the 20-second reel format. Corrected fleet spec:
window 0.30–8.80s, scripts **18–22 words** at a natural ~150–165 wpm.

## Script options (18–22 words; every claim traceable to notes\PERMITTED-CLAIMS.md)

**Option A — plans-first**
"Six garage plans, drawn and ready to build. Pick a size, get a free, no-obligation quote
from Handley Lumber."
*(19 words. Sources: destination §7 verbatim lines; qualifier travels with the quote promise.)*

**Option B — heritage + proof**
"Handley Lumber has helped Fenelon Falls build since 1936. Your garage starts online. About
two minutes. No form to play with it."
*(22 words. Sources: §1 since-1936 line; §7 "About two minutes. No form to play with it."
verbatim.)*

**Option C — takeoff speed**
"Pick from six plans, make it yours, send it for a quote. Free, no obligation, from Handley
Lumber in Fenelon Falls."
*(21 words. Sources: §7 six plans / step names / free no-obligation quote line.)*

Claim guardrails: no "in stock", no prices/offers/deadlines, no "250,000 products", no
unqualified delivery promises (delivery stays "from our yard in Fenelon Falls"), no
"ready within 24 hours" without "most orders" (not used here at all).

## Standing mix spec (vault rule — no audible ducking)

- VO: loudnorm to a constant level (e.g. `loudnorm=I=-16:TP=-1.5:LRA=11`), NO level rides.
- Music bed: fixed low level ~**0.24** for the full duration — never automated against VO.
- EQ carve on the bed: cut around **2.5kHz** (speech-presence band) so VO sits clear
  without level changes.
- Fades ONLY at the ends (bed fade-in at 0, fade-out into/through the outro).
- **NO sidechain ducking / no compressor pumping** — rejected standing rule.
- Music treated skeptically; silent delivery is the shipped default.
Permitted claims
# PERMITTED CLAIMS — Handley Lumber Limited (handley-lumber)

Compiled 2026-08-31. Sources: https://handleylumber.ca (live fetch, 200, follows to
https://handleylumber.ca/), its /pages/about-us and /pages/services (both 200),
`C:\Claude\handley-garage-lead\members.json` (key handley-lumber),
`C:\Claude\handley-garage-lead\vendor-catalog\handley-lumber.json`,
`notes\google-reviews-snapshot.json` (fetched 2026-08-31), and the live ad destination
https://handley-garages.pages.dev/ (auth-gated, captured 2026-08-31).
Every claim-bearing sentence is transcribed VERBATIM. Nothing renders in any deliverable
unless it appears here or is a strict narrowing of a line here.

## 1. Live site — homepage (handleylumber.ca)

- "Big Box Inventory. Hometown Service."
- "Our customers choose Handley Lumber because we offer more than just products:"
- "Premium J-Grade Lumber & Building Materials"
- "In-House Delivery for Contractors & Cottage Builds"
- "Friendly, Knowledgeable Staff Who Know the Region"
- "9,000+ of Products Online with Local Pickup or Delivery" [sic — their typo]
- "How Ordering Works"
- "We've been helping Fenelon Falls build with confidence since 1936. Order online and we'll take it from there."
- "Order Online" / "Browse 9,000+ in-stock products and place your order in minutes."
- "Ready Within 24 Hours" / "We pick and pack your order, then send you a notification when it's good to go."
- "Pick Up or We Deliver" / "Grab it at 12 Helen Street in Fenelon Falls, or let our in-house delivery bring it to your site or cottage."
- "We're here to help you build what matters — with quality building supplies, reliable service, and support that feels like family. Proud to be part of the Castle Building Centres Group, connecting you to trusted brands and local expertise across Fenelon Falls and beyond."
- Footer facts: "12 Helen Street" / "Fenelon Falls, ON K0M 1N0" / "Phone#: (705) 887-3242" / "Fax#: (705) 887-4334"
- "Hours of Operation: Monday-Friday 8 am to 5 pm / Saturday 8 am to 4 pm"

### Homepage banner slides (text baked into their own slide images)
- "Your Local Building Partner Since 1936" + "Helping you build better—homes, cottages, communities."
- "We Know Our Wood" + "Get the right lumber, right when you need it."
- "Start Smooth. Build Strong." + "Plywood, OSB, MDF—we've got your panel needs covered."
- "Five Easy Ways to Get What You Need" — "Come In / Drive-Up / Click & Shop / Email Us / Talk to Us"

## 2. Live site — /pages/about-us

- "Building Kawartha Lakes Together Since 1936"
- "Four Generations. One Purpose."
- "Since 1936, we've helped local builders, DIYers, and cottagers bring their ideas to life — from cozy lakefront decks to major home renovations."
- "Rooted in Fenelon Falls, we've grown alongside the families and tradespeople who make this region what it is."
- "Treat customers like neighbours. Offer only what we'd use ourselves. And always stand behind our word." (their stated four-generation creed, in quotes on their page)
- "Handley Lumber began with a vision — and a planing mill. In 1936, Joe Handley Sr. purchased the Fenelon Falls site, bringing with him years of experience from sawmills in Burnt River and Crystal Lake. From that red mill, we started producing high-quality dressed lumber and finished wood products."
- "the business passed through four generations of the Handley family. From Joe to Ray, from Ken to Chris"
- "Erick Watson, who has worked with the family for over 55 years, remains one of the many friendly faces familiar to locals."
- "Over time, we've evolved into a full-service building supply store, expanding from milling into retail and custom millwork."
- "Built for Contractors. Friendly to DIYers."
- "Contractor services with fast local delivery"
- "Homeowners & cottagers get expert advice and quality materials"
- "Knowledgeable staff who understand your project, not just the products"
- "Custom cuts and specialty products made onsite and in stock"
- "From Fenelon Falls to Bobcaygeon, Coboconk to Haliburton, our reach extends far beyond the storefront."
- "Need a delivery to Muskoka or Toronto? No problem. We'll make it happen."
- "Handley Lumber is part of one of Canada's most trusted building supply networks — Castle Building Centres."
- "Competitive pricing on top brands"
- "Access to over 250,000 in-demand building products"
- "Fast, flexible sourcing if we don't have it in stock"
- "Handley Lumber is proudly Canadian-owned and independently operated."
- "We carry over 9,000 products — and have access to over 250,000 more."
- "Fast delivery within Kawartha Lakes, Muskoka & Haliburton"

## 3. Live site — /pages/services

- "At Handley Lumber, we go beyond supplying quality materials — we support your build every step of the way. From local delivery to custom millwork, our services are designed to help contractors, homeowners, and cottagers get it done right."
- "We offer in-store pickup for all products ordered online. Most orders are ready within 24 hours."
- "We offer our own local delivery service across Fenelon Falls, Kawartha Lakes, and surrounding areas. Our drivers will deliver as close as possible to your requested location, depending on drop site access and equipment restrictions."
- "It's the customer's responsibility to ensure adequate access to the delivery site." (qualifier — must travel with any delivery promise)
- "With four generations of millwork expertise, Handley Lumber is your local source for custom trim, stairs, windows, and more."
- "We manufacture: Casing, baseboard, crown moulding, siding & v-joint / TDL thermal and traditional sash windows / Doors, beams, post cladding, railings & stair parts" — "All made-to-order from the best available materials — many created right onsite at our planing mill."
- Also offered on the services page: paint mixing & colour matching (PPG stocked), lock rekeying, tool repair & sharpening ("If you've purchased your tools from us and they need fixing, we'll help get them repaired").

## 4. members.json record (handley-lumber)

- legalName "Handley Lumber Limited"; domain handleylumber.ca; email info@handleylumber.ca
- phone "(705) 887-3242"; street "12 Helen Street"; city "Fenelon Falls"; region ON; postal K0M 1N0
- since: 1936; castleMember: true
- hours: "Monday to Friday, 8:00 to 5:00" / "Saturday, 8:00 to 4:00" / "Sunday, closed"
- primary #FFE018, secondary #004890; logo assets/handley-logo.png
- notes: "PREVIEW build 2026-08-28: real yard details, ribbon states quote requests do not file automatically yet; flips live when a GHL location is signed."

## 5. Vendor catalog (vendor-catalog\handley-lumber.json)

- Siding vendor: **Gentek** — confirmed by Michael at Handley (CASTLE-VENDOR-COLOUR-LIBRARY.md 2026-08-28). Lines: Sequoia Select (lap), Sequoia Select Board & Batten, SteelTek (steel).
- Metal roofing vendor: **Westman Steel** — confirmed (same source).
- **Vicwest is NOT confirmed for Handley** — explicitly flagged in the catalog as an inferred guess; never render it.
- Hex values in the catalog are Web Conductors' on-screen approximations; the real spec is vendor name + code.

### Rendered colour list (carousel card 3 — the only surface that names colours)

The four Westman Steel colour names rendered on carousel card 3, verbatim from
`C:\Claude\handley-garage-lead\vendor-catalog\handley-lumber.json` (roofingMetal → Westman
Steel, confirmed:true):

| Rendered name | Vendor code | Swatch hex (WC on-screen approximation) |
| --- | --- | --- |
| Bone White | QC 8273 | #E6E1D4 |
| Stone Grey | QC 8305 | #8C8C86 |
| Charcoal | QC 8306 | #4A4D50 |
| Black | QC 8262 | #232323 |

Card 3 carries the disclosure "Swatches are on-screen approximations." (r2). The Gentek
card names lines only (Sequoia Select / Board & Batten / SteelTek), no colour names; its
four dots are unlabeled swatches drawn from the same catalog's hex approximations
(Snow White #F3F1EC, Sandstone #C2AC8C, Juniper Grove #5F6B57, Iron Ore #3A3A38).

## 6. Google reviews snapshot (notes\google-reviews-snapshot.json, fetched 2026-08-31)

- Places display name: "Handley Lumber & Building Supplies"
- Rating 4.5 · 119 reviews · fiveStarProvableFloor 54 → marketing-safe display **"50+ five-star Google reviews"** (rounded DOWN)
- Safe rating line: "Rated 4.5 on Google" / "4.5★ · 119 Google reviews"
- Verbatim quotes available (attribute "<Name> · Google review"):
  - "Friendly staff,fast delivery and excellent prices" — edward krets, 5★
  - "I've dealt with Handley Lumber for many , many years great store and wonderful staff.." — Gregg, 5★ (trim with ellipsis allowed)
  - "The customer service here is the best! They have an amazing selection and can get everything I need quickly. At Handley's you're treated like family and this family business has always been huge supporters of our wonderful community." — Brandy Watson, 5★
  - "Excellent online ordering experience." — Theo Koudys, 5★ (longer text available in snapshot; trims must use ellipsis)
  - "Friendly staff ,great service what more could you ask for ." — R. James Cook, 5★

## 7. Ad destination surface (handley-garages.pages.dev, captured live 2026-08-31)

These lines exist on the destination the ads land on; ads may echo them:
- "Free garage plans. Real quotes."
- "Build the garage that actually fits."
- "Six plans, drawn and ready to build. Pick a size, tell it what is going in, and Handley Lumber prices the whole build off the same drawing your builder frames from. Free, no obligation."
- "Free, no-obligation quote on any of the six plans"
- "Precision Takeoff in as little as 2 business days"
- "Delivery from our yard in Fenelon Falls"
- "About two minutes. No form to play with it."
- Four steps: "What is going in it / Make it yours / Send it for a quote / What it comes to"
- Step-1 uses: "Vehicle parking / Workshop / Seasonal storage / Hobby space"
- Observed plan facts (configurator screenshots): "12×24 Single car garage 288 SQ FT" (plan 2 of 6), "16×24 Single car garage 344 SQ FT" (plan 3 of 6), "22×24 Double car garage 528 SQ FT" (plan 4 of 6), "24×30 Double car garage 720 SQ FT" (plan 6 of 6).
- Preview ribbon (their own gate): "Preview build for Handley Lumber. Quote requests do not file automatically yet."

## Heritage phrasing rule

Their own site supports the serving claim verbatim: "We've been helping Fenelon Falls build
with confidence since 1936" and "Your Local Building Partner Since 1936". Permitted forms:
either of those verbatim, "Building Kawartha Lakes Together Since 1936", or the safe short
form "Since 1936". "Serving Fenelon Falls since 1936" is a fair compression of their own
"helping Fenelon Falls build … since 1936" — allowed, but prefer their verbatim lines.

## EXCLUSIONS (deliberately withheld, and why)

- "over 250,000 products" access claim — it describes the Castle network's catalog, not
  Handley's shelf; in a 5-word ad context it reads as store inventory. Withheld from ads;
  9,000+ is the honest store-level number (used only with "products" phrasing, not SKUs).
- "Need a delivery to Muskoka or Toronto? No problem." — an open-ended promise with no
  qualifier; withheld from ads/emails (delivery claims stay "from our yard in Fenelon Falls"
  / "Kawartha Lakes & surrounding areas" with the site-access qualifier when promised).
- "Ready Within 24 Hours" — their site immediately qualifies it as "Most orders". The
  unqualified form never renders; only "Most orders are ready within 24 hours."
- Milwaukee/GAF/PPG and all product-brand names — third-party marks, not needed for a
  garage-package funnel; withheld everywhere.
- Vicwest — explicitly unconfirmed in the vendor catalog; never rendered.
- "In Stock" claims of any kind — no live inventory API check this run (standing rule).
- Prices, offers, discounts, deadlines — none exist in any source; none rendered.
- The Google reviews COUNT displayed is the five-star floor "50+", never "119 five-star"
  (119 is total reviews at 4.5, not five-star count).
- members.json `reviews: 118` — stale vs the dated snapshot (119); snapshot wins.
- DALL-E image on their about page and the stock photos on their site (TIM8 house render,
  Custom_Millwork, Paint_Mixing, Rekeying, Tool_Repair, and the four blue-duotone banner
  slides for direct reuse — baked-in text) — all excluded from creative (stock/AI/composited).

## GAPS (unresolvable this run — logged, not guessed)

1. Privacy policy for email footer: https://handleylumber.ca/policies/privacy-policy
   curl-verified HTTP 200 on 2026-08-31 → link IS permitted in emails.
2. CRM unconfirmed → email/SMS ship as copy-paste assets with `{{token}}` placeholders.
3. No confirmed seasonal cutoff → zero deadline chips anywhere.
4. Exact five-star star-count of each quoted review verified in snapshot (all 5★). No
   4★ quotes used.
5. The configurator's six plans: four observed live (12×24, 16×24, 22×24, 24×30); plans 1
   and 5 not captured. "Six plans" claim comes from the destination's own copy; individual
   size claims render only for observed plans.
6. Basic-auth demo gate stays on the destination ("destination unlocks on signing") —
   boards phrase it exactly that way.
Gaps
# GAPS — Handley Lumber · garages-2026 · 2026-08-31

Stop-and-log items. Nothing here was guessed around; the rest of the package shipped.

## ⚠ FLAG — identifiable staff imagery: `meta-ads\src\img\mill-chris-ken.jpg`

- The filename names **Chris and Ken Handley** — real, identifiable family members
  ("from Joe to Ray, from Ken to Chris", their about page; the brand kit labels it
  "Chris & Ken at the planing mill (500×375, heritage)").
- **Usage check (grep of every rendered HTML unit + manifest.json): the file is referenced
  by ZERO rendered statics and ZERO reel frames.** It sits in `src\img\` as harvested
  inventory only. All 9 shipped PNGs and 8 reel frames use only logo, storefront, delivery
  truck, and configurator captures.
- So it is NOT a live blocker on the r1 assets — but it is a loaded gun for r2: **any paid
  ad using identifiable people requires documented consent from the people shown.** The
  claims file does not clear it (no consent record exists anywhere in the sources). If a
  future revision reaches for it, the judge should block until Zak has written consent from
  Chris and Ken. Recommend either obtaining consent at signing or removing the file from
  `src\img\` so it can't drift into a render.
- **RESOLVED (fix pass r2, 2026-09-01): the file was DELETED from `src\img\`** per the
  judge-verified nit — unused, consent-flagged, removed so it cannot drift into a render.
  Re-harvest from the brand kit only if written consent from Chris and Ken lands.
- **Related r2 fix: `delivery.jpg` (identifiable forklift operator) removed from the 9x16
  static** — replaced with the people-free `storefront.jpg`. delivery.jpg stays in
  `src\img\` as harvested inventory but now renders NOWHERE (grep-verified); same consent
  rule applies before any future use.
- Related tripwire: Gregg's 5★ review mentions Ken by name; the rendered proof card uses
  the edward krets quote instead — keep it that way unless consent lands.

## Open items carried into launch

1. **Basic-auth preview gate** on https://handley-garages.pages.dev/ (curl-verified 401
   unauth, by design — "destination unlocks on signing"). Ads CANNOT go live against a
   401 destination; Meta's crawler will fail the link. Launch is blocked until signing
   flips the gate. Also: conversion tracking (pixel/CAPI) unconfirmed — deck recommends
   Traffic objective + engagement retargeting until a pixel exists.
2. **CRM unconfirmed** — email/SMS shipped as copy-paste assets with `{{token}}`
   placeholders and a mapping table (email-sms\TOKENS.md). Never assume GHL.
3. **VO owed** — reels shipped silent (zero paid generation this run). Three scripts +
   mix spec staged in reels\VO-SLOT.md, VO window 0.30–6.60s.
4. **Configurator plans 1 and 5 never observed** — size claims render only for the four
   observed plans (12×24, 16×24, 22×24, 24×30). "Six plans" claim rests on the
   destination's own copy.
5. **Destination preview ribbon** states "Quote requests do not file automatically yet" —
   flips live when a GHL location is signed (members.json note). Same signing dependency
   as item 1.
6. **No seasonal cutoff confirmed** — zero deadline chips anywhere (verified by grep).
7. Privacy policy was NOT a gap: https://handleylumber.ca/policies/privacy-policy
   re-verified HTTP 200 on 2026-08-31 by this agent → linked in all three emails.

Status

MemberAdsReelsEmailDestination
Handley Lumber9 ad units4 reels — OWED on audio3 emailsconfigurator (unlocks on signing)